package LinearList;

import LeetCode.Num203;
import LinearList.DoubleLink.DoubleLinkedList;
import seqlist.DynamicArray;



public class Test {
    public static void main(String[] args) {




        //双向链表的测试
//        DoubleLinkedList doubleLinkedList=new DoubleLinkedList();
//        doubleLinkedList.addFirst(1);
//        doubleLinkedList.addLast(2);
//        doubleLinkedList.addLast(3);
//        doubleLinkedList.addLast(4);
//        doubleLinkedList.addIndex(1,10);
//        doubleLinkedList.addIndex(3,20);
//        //1->10->2->20->3->4;
//        System.out.println(doubleLinkedList);
//        System.out.println(doubleLinkedList.contains(10));
//        System.out.println(doubleLinkedList.set(1,100));
//        System.out.println(doubleLinkedList.get(3));
//        System.out.println(doubleLinkedList);
//        doubleLinkedList.removeFirst();
//        doubleLinkedList.removeLast();
//        doubleLinkedList.removeIndex(1);
//        System.out.println(doubleLinkedList);
//        doubleLinkedList.addLast(5);
//        doubleLinkedList.addLast(2);
//        doubleLinkedList.addLast(5);
//        doubleLinkedList.addLast(20);
//        doubleLinkedList.addLast(5);
//        System.out.println(doubleLinkedList);
//        doubleLinkedList.removeValOnce(5);
//        System.out.println(doubleLinkedList);
//        doubleLinkedList.removeValAll(20);
//        doubleLinkedList.removeValAll(5);
//        System.out.println(doubleLinkedList);




//        //使用者使用的是火车类，要先创建一个火车的对象
//        //2.单链表-头节点与中间节点分开处理的情况
//        //->插
//        SingleLinkedList singleLinkedList=new SingleLinkedList();
//        singleLinkedList.addLast(9);
//        singleLinkedList.addFirst(5);
//        singleLinkedList.addIndex(1,7);
//        singleLinkedList.addIndex(0,3);
//        singleLinkedList.addIndex(0,1);
//        singleLinkedList.addIndex(5,11);
//        //1->3->5->7->9->11->NULL
//        System.out.println(singleLinkedList);
//        //->查
//        System.out.println(singleLinkedList.get(3));
//        System.out.println(singleLinkedList.get(0));
//        System.out.println(singleLinkedList.contains(20));
//        System.out.println(singleLinkedList.contains(11));
//        //->改
//        System.out.println(singleLinkedList.set(2,6));
//        System.out.println(singleLinkedList);
//        System.out.println(singleLinkedList.set(0,2));
//        //2->3->6->7->9->11->NULL
//        System.out.println(singleLinkedList);
//        //删a.
//        singleLinkedList.removeFirst();
//        singleLinkedList.removeLast();
//        singleLinkedList.removeIndex(1);
//        //3->7->9->NULL
//        System.out.println(singleLinkedList);
//        //删b.
//        singleLinkedList.addLast(11);
//        singleLinkedList.addLast(13);
//        singleLinkedList.addLast(6);
//        singleLinkedList.addLast(6);
//        singleLinkedList.addIndex(0,2);
//        singleLinkedList.addIndex(0,2);
//        singleLinkedList.addFirst(2);
//        singleLinkedList.addFirst(2);
//        //1->2->2->2->3->7->9->11->13->6->6->NULL
//        System.out.println(singleLinkedList);
//        singleLinkedList.removeValueOnce(2);
//        System.out.println(singleLinkedList);
//        singleLinkedList.removeValueAll(2);
//        singleLinkedList.removeValueAll(6);
//        System.out.println(singleLinkedList);

//        //1.addLast尾插的验证
//        DynamicArray myarray=new DynamicArray(3);//容量为3,不扩容能传入3个元素，第四个的时候会执行扩容
//        myarray.addLast(1);
//        myarray.addLast(3);
//        myarray.addLast(5);
//        myarray.addLast(7);
//        //[1,3,5,7]
//        System.out.println(myarray);
//        myarray.addFirst(10);
//        System.out.println(myarray);
//        myarray.addIndex(22,1);
//        myarray.addIndex(33,0);
//        myarray.addIndex(44,7);
//        System.out.println(myarray);
//        //查
//        System.out.println(myarray.contains(7));
//        System.out.println(myarray.get(0));
//        System.out.println(myarray.getByValue(44));
//        //改
//        System.out.println(myarray.set(1,100));//执行结果返回10
//        System.out.println(myarray);//打印修改后的数组
//        //删
//        myarray.removeFirst();
//        myarray.removeLast();
//        System.out.println(myarray);
//        myarray.removeIndex(5);
//        System.out.println(myarray);
//        myarray.removeValueOnce(22);
//        System.out.println(myarray);
//        myarray.addFirst(1);
//        myarray.addFirst(5);
//        myarray.addFirst(10);
//        myarray.addFirst(1);
//        System.out.println(myarray);
//        myarray.removeValAll(1);
//        System.out.println(myarray);
//        //SingleLinkedListWithHead
//        SingleLinkedListWithHead singleLinkedListWithHead=new SingleLinkedListWithHead();
//        singleLinkedListWithHead.addFirst(1);
//        singleLinkedListWithHead.addLast(5);
//        singleLinkedListWithHead.addIndex(1,3);
//        singleLinkedListWithHead.addIndex(3,7);
//        System.out.println(singleLinkedListWithHead);
//        singleLinkedListWithHead.removeIndex(0);
//        singleLinkedListWithHead.removeIndex(2);
//        System.out.println(singleLinkedListWithHead);
    }
}
